home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / vdtwn / tvf / asmhd6 / comdhd6 / f_col_4.hd6 < prev    next >
Text File  |  1993-07-08  |  5KB  |  328 lines

  1. ds_name        db    '\KOMEI\実物\TVF_PRG\F_COL',0
  2.  
  3. paint_wd:
  4. re_paint:
  5.      WD_CLS 0
  6. re_paint1:
  7.      BOX boxdt,21
  8.      BOX boxdt2,4
  9.      BOX boxdt3,4
  10.      MOZI mozidt
  11.      MOZI mozidt1
  12.      ret
  13.  
  14. be_called:
  15.      YOMU ax,306
  16.      cmp ax,1
  17.      je called1
  18.      cmp ax,2
  19.      je col_get
  20.      ret
  21.  
  22. called1:
  23.      call boxdt3
  24.      mov bx,76[edi]
  25.      KAKU 300,bx
  26.      KAKU 302,bx
  27.      mov ax,0
  28.      KAKU 306,ax
  29.      ret
  30. col_get:
  31.     YOMU bx,308
  32.      call boxdt3
  33.      and bx,0111111111111111b
  34.      mov 76[edi],bx
  35.      mov ax,0
  36.      KAKU 306,ax
  37.      jmp new_col
  38. di_mou:
  39.      call sub_edi
  40.      dw    ?
  41. mouse_in:
  42.       cmp ch,0
  43.      jne mouseck
  44.       ret
  45.  
  46. mouseck:
  47.      call di_mou
  48.      mov [edi],cx
  49.  
  50.      MOU boxdt,21
  51.  
  52.      cmp bx,1                  ;bx=1 find
  53.      je short mck1             ;ax = no
  54.      ret
  55. mck1:
  56.      cmp ax,15
  57.      jle find1
  58.      cmp ax,21
  59.      jle find2
  60.  
  61.      ret
  62.  
  63. di_fullcol:
  64.      call sub_edi
  65.      dw 0111111111111111b
  66.  
  67. ds_bulcol:
  68.      call sub_esi
  69.      dw 0000000000011111b
  70.  
  71. ds_redcol:
  72.      call sub_esi
  73.      dw 0000011111000000b
  74.  
  75. ds_grncol:
  76.      call sub_esi
  77.      dw 0111110000000000b
  78. ds_bulsu:
  79.      call sub_esi
  80.      dw 31
  81.  
  82. ds_redsu:
  83.      call sub_esi
  84.      dw 31
  85.  
  86. ds_grnsu:
  87.      call sub_esi
  88.      dw 31
  89.  
  90. find1:
  91.  
  92.      call boxdt3
  93.      mov bx,76[edi]
  94.      dec ax
  95.      btc bx,ax
  96.      mov 76[edi],bx     
  97. new_col:
  98.      mov ax,bx
  99.      and ax,0111110000000000b
  100.      shr ax,10
  101.      call ds_bulsu
  102.      mov [esi],ax
  103.  
  104.      mov ax,bx
  105.      and ax,0000001111100000b
  106.      shr ax,5
  107.      call ds_redsu
  108.      mov [esi],ax
  109.  
  110.      mov ax,bx
  111.      and ax,0000000000011111b
  112.      call ds_grnsu
  113.      mov [esi],ax
  114.  
  115.  
  116.      call ds_bulcol
  117.      mov cx,[esi]
  118.      and cx,bx
  119.      mov 16[edi],cx
  120.  
  121.      call ds_redcol
  122.      mov cx,[esi]
  123.      and cx,bx
  124.      mov 36[edi],cx
  125.  
  126.      call ds_grncol
  127.      mov cx,[esi]
  128.      and cx,bx
  129.      mov 56[edi],cx
  130.     
  131.  
  132.      call mozidt
  133.      add edi,14
  134.      mov ecx,15
  135.      mov dx,0
  136.  
  137. p_bt_mozi:
  138.      
  139.      bt bx,dx
  140.      jc p_k31
  141.      mov al,'0'
  142.      jmp p_mozi
  143. p_k31:
  144.      mov al,'1'
  145. p_mozi:
  146.      mov [edi],al
  147.      inc dx
  148.      add edi,2
  149.      loop p_bt_mozi
  150.  
  151.      mov ax,bx
  152.      shr ax,10
  153.  
  154.      mov cl,10
  155.      div cl
  156.      call mozidt1
  157.      add al,30h
  158.      add ah,30h
  159.  
  160.      mov 20[edi],ax
  161.  
  162.      mov ax,bx
  163.      and ax,0000001111100000b
  164.      shr ax,5
  165.  
  166.      mov cl,10
  167.      div cl
  168.      add al,30h
  169.      add ah,30h
  170.      mov 17[edi],ax
  171.  
  172.      mov ax,bx
  173.      and ax,0000000000011111b
  174.  
  175.      mov cl,10
  176.      div cl
  177.      add al,30h
  178.      add ah,30h
  179.      mov 14[edi],ax
  180.  
  181.  
  182.      call re_paint1
  183.      call kesu_ms
  184.  
  185.      ret
  186.  
  187.  
  188. kesu_ms:
  189.      M_KESUMS
  190.  
  191. find2:
  192.      call di_mou
  193.      mov cx,[edi]
  194.      cmp ax,17
  195.      jg o_red
  196.      call ds_grnsu
  197.      jmp find2_0
  198. o_red:
  199.      cmp ax,19
  200.      jg o_gr
  201.      call ds_redsu
  202.      jmp find2_0
  203. o_gr:
  204.      call ds_bulsu
  205. find2_0:
  206.      mov bx,[esi]
  207.      cmp ax,17
  208.      je find3
  209.      cmp ax,19
  210.      je find3
  211.      cmp ax,21
  212.      je find3
  213.  
  214.      cmp ch,2
  215.      je find2b
  216.      cmp bx,21
  217.      jle find2_1
  218.      ret
  219. find2_1:
  220.      add bx,10
  221.      jmp su_kei
  222. find2b:
  223.      cmp bx,10
  224.      jge find2b_1
  225.      ret
  226. find2b_1:
  227.      sub bx,10
  228.      jmp su_kei
  229. find3:
  230.      cmp ch,2
  231.      je find3b
  232.      cmp bx,30
  233.      jle find3_1
  234.      ret
  235. find3_1:
  236.      inc bx
  237.      jmp su_kei
  238. find3b:
  239.      cmp bx,1
  240.      jge find3b_1
  241.      ret
  242. find3b_1:
  243.      dec bx
  244. su_kei:
  245.     mov [esi],bx
  246.     
  247.     call ds_bulsu
  248.      mov ax,[esi]
  249.     call ds_redsu
  250.      mov bx,[esi]
  251.     call ds_grnsu
  252.      mov cx,[esi]
  253.      shl ax,10
  254.      shl bx,5
  255.      add ax,bx
  256.      add ax,cx
  257.      call boxdt3
  258.      mov 76[edi],ax
  259.      mov bx,ax
  260.      jmp new_col     
  261.  
  262.  
  263. look_me:
  264.      call sub_esi
  265.      dd 0,0
  266.      dw     1,0,136,80,380,0,15,4,0,0
  267.  
  268.  
  269.  
  270. boxdt:
  271.     call sub_edi
  272.         dw    5,10,16,30,3,16,0,12,3,0
  273.         dw    5,10,16,30,21,16,0,12,3,0
  274.         dw    5,10,16,30,39,16,0,12,3,0
  275.         dw    2,8,20,113,3,8,0,1,2,0
  276.         dw    2,8,20,113,21,8,0,1,2,0
  277.         dw    2,8,20,113,39,8,0,1,2,0
  278. boxdt2:
  279.     call sub_edi
  280.         dw    1,15,15,4,2,15,0,12,0,0
  281.         dw    1,15,15,4,20,15,0,12,0,0
  282.         dw    1,15,15,4,38,15,0,12,0,0
  283.         dw    1,15,15,4,56,15,0,12,0,0
  284. boxdt3:
  285.     call sub_edi
  286.         dw    1,15,15,4,2,15,0,0,3fh,1
  287.         dw    1,15,15,4,20,15,0,0,03e0h,1
  288.         dw    1,15,15,4,38,15,0,0,7e00h,1
  289.         dw    1,15,15,4,56,15,0,0,7fffh,1
  290.  
  291.  
  292.  
  293. ; [count][sz_x][sz_y][off_x][off_y][+x][+y][f_col][b_col][s_no]
  294.  
  295. mozidt:
  296.     call sub_edi
  297.            dw    0        ;screen_no
  298.            dw    15      ; mozi_color
  299.            dw    30      ; 書き出し位置  x
  300.            dw    0      ;          y
  301.            dw    0      ; next offset x
  302.            dw    18      ; next offset y
  303.     
  304.                dw   3      ; gyo suu
  305.                    db    '1 1 1 1 1',0
  306.                    db    '1 1 1 1 1',0
  307.                    db    '1 1 1 1 1',0
  308.                 dw 0,0
  309.  
  310. mozidt1:
  311.     call sub_edi
  312.            dw    0        ;screen_no
  313.            dw    15      ; mozi_color
  314.            dw    114      ; 書き出し位置  x
  315.            dw    0      ;          y
  316.            dw    0      ; next offset x
  317.            dw    18      ; next offset y
  318.     
  319.                dw   3      ; gyo suu
  320.                    db    '31',0
  321.                    db    '31',0
  322.                    db    '31',0
  323.                 dw 0,0
  324.  
  325.  
  326.  
  327.  
  328.